package com.eqxiu.iom.msg.dto.msg;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * @classname: ActionMsgDTO.java
 * @author: th
 * @version: 1.0
 * @description: 用户行为消息触发dto
 * @createtime: 2019-12-04 16:09
 */
public class ActionMsgTriggerDTO implements Serializable {

    private static final long serialVersionUID = -923284829368429081L;
    /**
     * 用户信息集合 --必填
     */
    private List<UserInfoDTO> userInfoDTOs;
    /**
     * 行为编码 --必填
     */
    private String eventCode;
    /**
     * 消息发送方产品编码 --必填
     */
    private String producerCode;
    /**
     * 发送时间的时间戳
     */
    private Long sendTimestamp;
    /**
     * 消息体(标题)业务字段容器
     */
    private Map<String, Object> params;
    /**
     * 扩充字段,兼容特殊需求
     * 详见:信息化中台提供接口文档
     */
    private Map<String, Object> ext;

    public List<UserInfoDTO> getUserInfoDTOs() {
        return userInfoDTOs;
    }

    public void setUserInfoDTOs(List<UserInfoDTO> userInfoDTOs) {
        this.userInfoDTOs = userInfoDTOs;
    }

    public String getEventCode() {
        return eventCode;
    }

    public void setEventCode(String eventCode) {
        this.eventCode = eventCode;
    }

    public String getProducerCode() {
        return producerCode;
    }

    public void setProducerCode(String producerCode) {
        this.producerCode = producerCode;
    }

    public Long getSendTimestamp() {
        return sendTimestamp;
    }

    public void setSendTimestamp(Long sendTimestamp) {
        this.sendTimestamp = sendTimestamp;
    }

    public Map<String, Object> getParams() {
        return params;
    }

    public void setParams(Map<String, Object> params) {
        this.params = params;
    }

    public Map<String, Object> getExt() {
        return ext;
    }

    public void setExt(Map<String, Object> ext) {
        this.ext = ext;
    }

    @Override
    public String toString() {
        return "ActionMsgTriggerDTO{" +
                "userInfoDTOS=" + userInfoDTOs +
                ", eventCode='" + eventCode + '\'' +
                ", producerCode='" + producerCode + '\'' +
                ", sendTimestamp='" + sendTimestamp + '\'' +
                ", params=" + params +
                ", ext=" + ext +
                '}';
    }
}
